﻿using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;
using System.Text;

namespace Elderos.TextSearchers
{
	public class EnumerableStringLoader : IStringLoader
	{
		public EnumerableStringLoader(IEnumerable<string> strings)
		{
			_strings = strings;
		}

		private IEnumerable<string> _strings;

		#region Implementation of IStringLoader

		public IEnumerable<string> LoadStrings(int? maxCount)
		{
			int i = 0;
			foreach (string str in _strings)
			{
				i++;
				yield return str;
			}
		}

		#endregion

		#region Implementation of IDisposable

		/// <summary>
		/// Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.
		/// </summary>
		/// <filterpriority>2</filterpriority>
		public void Dispose()
		{}

		#endregion
	}
}
